#include <stdio.h>

int num = 50;
/*

全局静态变量    程序运行 全局变量创建   程序运行 创建  程序结束 释放

栈区        函数运行 栈区变量运行  自动创建 自动释放

堆区        手动创建 手动释放

*/
/*
静态存储类型 static   静态
    在创建的时候 进行一次初始化 后续就不会再进行初始化了
        static 
            用在函数的时候 限定函数只能在当前文件中运行
外部存储类型 extern    全局
    全局变量 外部声明  
        文件1.c    声明 一个变量  int a = 50;
        文件2.c    外部声明 extern int a;
        extern
            别的文件不需要引用 可以直接使用
*/



int func_1(void)
{
    static int num_2 = 0; 
    num_2++;
    return num_2;
}

void func(void)
{
    num = 40;
}


int main(int argc, char const *argv[])
{
    printf("%d\n" , num);
    num = func_1();
    printf("%d\n" , num);
    num = func_1();
    printf("%d\n" , num);
    num = func_1();
    printf("%d\n" , num);
    num = func_1();
    printf("%d\n" , num);
    return 0;
}



